package com.yungu.swift.system.sys.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.model.PageVo;
import com.yungu.swift.base.service.BaseService;
import com.yungu.swift.system.sys.model.dto.SysAreaDto;
import com.yungu.swift.system.sys.model.dto.SysFenceDto;
import com.yungu.swift.system.sys.model.param.AdminFenceParam;
import com.yungu.swift.system.sys.model.vo.SysFenceVo;

import java.util.List;
import java.util.Map;

public interface SysFenceService extends BaseService<SysFenceDto> {


    /**
     * 围栏设备监控
     *
     * @return
     */
    ResponseData<Map<String, Object>> statusFence(double lng, double lat, String diu);

    /**
     * 获取区县
     */
    ResponseData<List<SysAreaDto>> findFenceArea(String uuid);

    /**
     * 查询围栏分页信息
     */
    ResponseData<PageVo<SysFenceVo>> queryPageVo(AdminFenceParam adminFenceParam);

    /**
     * 新增围栏
     */
    ResponseData<Boolean> addFence(AdminFenceParam adminFenceParam);

    /**
     * 校验地址是否在围栏中
     *
     * @param cityUuid
     * @param lng
     * @param lat
     * @return
     */
    ResponseData<Boolean> checkInFence(String cityUuid, Double lng, Double lat, Integer fencePurpose);
}
